Today's enterprise data centers store ever-larger amounts of business critical data that must be immediately and continuously available, and highly reliable. Any down time for a storage system is considered unacceptable. Many precautions are taken in storage systems to protect against the effects of failures so that down time is avoided. However, from time to time a storage system, such as a storage array, must be upgraded or replaced.
In order to replace a current storage array with a new storage array, all the data and connections on the current storage array must be migrated to the new array. Then the storage system requires re-initialization, and host systems must be reconfigured. This requires at least some down time to complete; thus, host applications lose access to the storage array for some amount of time. Interruption of critical applications is unacceptable.
What is needed is a way to upgrade or replace storage arrays in a manner that is transparent to the host systems so that host applications are not interrupted by the upgrade or replacement. It is further desirable to perform failover between storage arrays in such a transparent manner.